//对象的创建方法
1. var a = {} ; plain object 对象字面量/对象直接量
2.构造函数创建方法
	1）系统自带的new object() Array() Number()
	object是一个函数，系统自带的构造函数，可以执行Object()
	2) 自定义

//js生产的对象可以改变，其他语言改变不了

构造函数产生对象的方式
	var obj = new Object(); obj变量接收方法产生的对象  和 var obj = {};没有区别
	obj.name = 'a\”bc'; 在单引号里打引号用到\转义字符
	obj.sex = 'male';
	'' 和""都是字符串，为了更好地与后端配合，最好用单引号，php里是没有双引号的，但是php能识别，多一道转码成单引号的工序
java c 生产出的对象是固定的，不能增删改变，js比较灵活，对象可以改变

//大驼峰式命名规则，构造函数的命名规则

function Person(){}  Person代表函数体，函数引用。函数也相当于一个对象，对象有属性和方法。系统自带的属性叫prototype  
Person.prototype = {}; 原型是一个对象，空对象 在函数出生的时候prototype已经被定义好了
var person1 = new Person();
构造函数通过不停的调用可以产生多个相似且独立的对象。构造函数通过车间工厂批量的生产同样属性、方法



<script type="text/javascript">
	function Car(color){
		this.color = color;
		this.name = 'BMW';
		this.height = '1400';
		this.lang = '4900';
		this.weight = '1000';
		this.health = 100;
		this.run = function(){
			this.health --;
		}
	}

	var car = new Car('red');//参数使一个函数发生变化，自定义的环节
	var car1 = new Car('green');//对象的独立性存在,每个对象是独立存在的，调用多个构造方法能产生独一无二的对象 
	car.name = 'Marserati';
	car1.name = 'Merz';
</script>

//构造函数内部原理
1.在函数最前面隐式的加上this={} 2.执行this.xxx = xxx 3.隐式得返回
<script type="text/javascript">
	function Student (name,age,sex){
		//var this = {};AO{this : {name : 'zhangsan'}}
		//this{name : ,age ,sex}
		this.name = name;
		this.age = age;
		this.sex = sex;
		this.grade = 2017;
		//return this;
	}
	var student = new Student('zhangsan',19,'male');
</script>

<script type="text/javascript">
	function Person(name,height){
		// var this ={};
		this.name = name;
		this.height = height;
		this.say = function(){
			console.log(this.say)
		}
		return {};//显示的返回会捣乱
		return 123;//返回原始值会忽略，有new不能返回原始值，只能返回引用值，对象数组
		//return this;
	}
	console.log(new Person('xiaowang',180).name);//有了New才能产生构造函数的功能
</script>


<script type="text/javascript">
	//模拟构造函数的构造方法，更深层次模拟不了
	function Person(name,height){
		var that = {};
		that.name = name;
		that.height = height;
		return that;
		//return 123; 不能返回原始值，强制返回对象
	}
	var person = Person('xiaowang',189);
	var person1 = Person('xiaozhang',176);
</script>

